#if _MSC_VER
 #pragma once
#endif // _MSC_VER

#ifndef __HERZELEID_SHADERSLOT_INCLUDED__
 #define __HERZELEID_SHADERSLOT_INCLUDED__
 #include "HerzeleidRendererShading.hxx"

#pragma warning(disable:4369)
HerzeleidRendererShadingNamespaceBegin enum class ShaderSlot
{
	VertexShader = 0u,					// Vertex shader slot
	HullShader = 1u,					// Hull shader slot
	DomainShader = 2u,					// Domain shader slot
	GeometryShader = 3u,				// Geometry shader slot
	PixelShader = 4u,					// Pixel shader slot
	NumPipelineShaderSlots = 5u,		// Num shaders in a single pipeline

	// Compute shader is not included in the rendering pipeline
	// and is used externally for general purpose computations 
	
	ComputeShader = 6u,					// Compute shader slot

	Undefined = 0xffffffffu
} HerzeleidRendererShadingNamespaceEnd;
#pragma warning(default:4369)

#endif